PythonでWord Cloudを作ってみた(和文編) 您所在的位置:网站首页 python ghostscript PythonでWord Cloudを作ってみた(和文編)

PythonでWord Cloudを作ってみた(和文編)

2023-01-05 23:57| 来源: 网络整理| 查看: 265

ホームPythonでワードクラウドPythonでWord Cloudを作ってみた(和文編) PythonでWord Cloudを作ってみた(和文編)

Pythonでワードクラウドを作ります。ベースになる文章を和文にしてみます。

目次

MeCabとwordcloudモジュールで日本語のワードクラウドを作る「こころ」をワードクラウドにしてみた MeCabとwordcloudモジュールで日本語のワードクラウドを作る

Pythonではwordcloudモジュールで簡単にワードクラウドが作れます。

ただしちょっと問題なのは、単語の区切りが空白文字(スペースなど)なところです。日本語はスペースで単語を区切りませんからね。

ということは、何らかの手段で文章から単語を切り出さなければならないわけです。

そこで今回はMeCabというツールを使用します。これは形態素解析という文章を解析するためのツールです。MeCabを使用するためにはMeCabとMeCabのPythonバインディングをインストールする必要があります。MeCabは 公式サイト などから、 Pythonバインディング はpipでインストールできます。

「こころ」をワードクラウドにしてみた

kokoro.txtという青空文庫からダウンロードしたテキストファイルから、ワードクラウドを作ってみます。テキストファイルは、文字コードをutf-8に変換しておいてください。

import MeCab from matplotlib import pyplot as plt from wordcloud import WordCloud # テキストファイル読み込み with open('kokoro.txt', mode='rt', encoding='utf-8') as fi: source_text = fi.read() # MeCabの準備 tagger = MeCab.Tagger() tagger.parse('') node = tagger.parseToNode(source_text) # 名詞を取り出す word_list = [] while node: word_type = node.feature.split(',')[0] if word_type == '名詞': word_list.append(node.surface) node = node.next # リストを文字列に変換 word_chain = ' '.join(word_list) # ワードクラウド作成 W = WordCloud(width=640, height=480, background_color='white', colormap='bone', font_path='C:\Windows\Fonts\yumin.ttf').generate(word_chain) plt.imshow(W) plt.axis('off') plt.show()

まず、テキストファイルを読み込みます。open/closeではなくてwithを使うとファイルのクローズ忘れがなくなるので便利です。

MeCab.Tagger()を呼び出してオブジェクトを作ります。

tagger.parse('') というのは、MeCabのエラー避けです。

tagger.parseToNode() にテキストを渡してオブジェクトを作ります。テキストが分解されてこのオブジェクトに入るような感じになるのですが、1つ呼び出したら次、次を呼び出したらその次、という感じで中身を取り出していきます。(実際にはポインタになってるらしいです。)

というわけで、whileループで1つずつオブジェクトを処理していきます。今回は、品詞が名詞のものだけを取り出して、リストに追加していきます。

' '.join() は、スペースを区切り文字にしてリストの全要素を結合するという処理です。

あとはできあがったテキストをwordcloudオブジェクトに渡して、matplotlibで描画します。パラメーターなどは こちら を参照してください。このときfont_pathに日本語フォントを指定しないと、豆腐が表示されます。

というわけでできあがったのがこちらです。

何の小説かわかりますか?

PythonでWord Cloudを作ってみた(単語を予め分けておく編)   Pythonで画像の形に合わせたワードクラウドを作ってみた

公開日 2018-05-09

広告

Pythonでワードクラウドカテゴリの投稿 PythonでWord Cloudを作ってみた PythonでWord Cloudを作ってみた(単語を予め分けておく編) PythonでWord Cloudを作ってみた(和文編) Pythonで画像の形に合わせたワードクラウドを作ってみた Pythonで画像の色に合わせたワードクラウドを作ってみた PythonのWord Cloudで表示しない単語を増やす


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有